<script>on mouseUpif "show" is in the short name of me thenif there is a window "Live Video" then exit mouseUpQTRecordMovie "Live Video",plain,the rect of bg btn videoRect,¬true, the hilite of bg btn "sound"get the resultif it is not empty thenanswer itexit mouseUpend ifset name of me to "Hide Video"elseif there is a window "Live Video" then close window "live video"set name of me to "Show Video"end ifend mouseUp</script>
</part>
<part>
<id>4</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>1</left>
<top>373</top>
<right>290</right>
<bottom>400</bottom>
</rect>
<style>transparent</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Palatino</font>
<textSize>24</textSize>
<textStyle>plain</textStyle>
<textHeight>32</textHeight>
<name>cardname</name>
<script>on mouseUpif the optionKey is down thenset lockText of me to falseend ifend mouseUpon closefieldset lockText of me to trueend closeField</script>
</part>
<part>
<id>5</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>498</left>
<top>358</top>
<right>530</right>
<bottom>387</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>26425</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name></name>
<script>on mouseUpgo next cardend mouseUp</script>
<script>on mouseUpset hilite of me to trueset hilite of bg btn "12 FPS" to falseset hilite of bg btn "15 FPS" to falseend mouseUp</script>
</part>
<part>
<id>9</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>445</left>
<top>33</top>
<right>505</right>
<bottom>48</bottom>
</rect>
<style>radiobutton</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <false /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Geneva</font>
<textSize>10</textSize>
<textStyle>bold</textStyle>
<name>12 fps</name>
<script>on mouseUpset hilite of me to trueset hilite of bg btn "10 FPS" to falseset hilite of bg btn "15 FPS" to falseend mouseUp</script>
</part>
<part>
<id>10</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>445</left>
<top>49</top>
<right>505</right>
<bottom>64</bottom>
</rect>
<style>radiobutton</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <false /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Geneva</font>
<textSize>10</textSize>
<textStyle>bold</textStyle>
<name>15 fps</name>
<script>on mouseUpset hilite of me to trueset hilite of bg btn "10 FPS" to falseset hilite of bg btn "12 FPS" to falseend mouseUp</script>
</part>
<part>
<id>11</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <true /> </lockText>
<rect>
<left>92</left>
<top>266</top>
<right>517</right>
<bottom>284</bottom>
</rect>
<style>rectangle</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>left</textAlign>
<font>Palatino</font>
<textSize>14</textSize>
<textStyle>plain</textStyle>
<textHeight>18</textHeight>
<name>fileName</name>
<script></script>
</part>
<part>
<id>13</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>473</left>
<top>90</top>
<right>504</right>
<bottom>107</bottom>
</rect>
<style>rectangle</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>right</textAlign>
<font>Geneva</font>
<textSize>12</textSize>
<textStyle>bold</textStyle>
<textHeight>16</textHeight>
<name>MovieQuality</name>
<script>on closeFieldif there is a window "live video" thenset codecType of window "live video" to meget the resultif it is not empty then put itend ifend closeField</script>
</part>
<part>
<id>14</id>
<type>field</type>
<visible> <true /> </visible>
<dontWrap> <false /> </dontWrap>
<dontSearch> <false /> </dontSearch>
<sharedText> <false /> </sharedText>
<fixedLineHeight> <false /> </fixedLineHeight>
<autoTab> <false /> </autoTab>
<lockText> <false /> </lockText>
<rect>
<left>473</left>
<top>132</top>
<right>506</right>
<bottom>149</bottom>
</rect>
<style>rectangle</style>
<autoSelect> <false /> </autoSelect>
<showLines> <false /> </showLines>
<wideMargins> <false /> </wideMargins>
<multipleLines> <false /> </multipleLines>
<reservedFamily> 0 </reservedFamily>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>right</textAlign>
<font>Geneva</font>
<textSize>12</textSize>
<textStyle>bold</textStyle>
<textHeight>16</textHeight>
<name>motionQuality</name>
<script>on closeFieldif there is a window "live video" thenset motionQuality of window "live video" to meget the resultif it is not empty then put itend ifend closeField</script>
</part>
<part>
<id>15</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>456</left>
<top>87</top>
<right>469</right>
<bottom>99</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>18001</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name></name>
<script>on mouseUpif bg field movieQuality < 10 thenadd 1 to bg field movieQualityelsebeepend ifend mouseUp</script>
</part>
<part>
<id>16</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>456</left>
<top>97</top>
<right>468</right>
<bottom>109</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>9052</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name></name>
<script>on mouseUpif bg field movieQuality > 1 thensubtract 1 from bg field movieQualityelsebeepend ifend mouseUp</script>
</part>
<part>
<id>17</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>457</left>
<top>129</top>
<right>469</right>
<bottom>141</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>18001</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name></name>
<script>on mouseUpif bg field motionQuality < 10 thenadd 1 to bg field motionQualityelsebeepend ifend mouseUp</script>
</part>
<part>
<id>18</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>456</left>
<top>139</top>
<right>469</right>
<bottom>151</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>9052</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name></name>
<script>on mouseUpif bg field motionQuality > 1 thensubtract 1 from bg field motionQualityelsebeepend ifend mouseUp</script>
</part>
<part>
<id>19</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>426</left>
<top>72</top>
<right>529</right>
<bottom>88</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Geneva</font>
<textSize>10</textSize>
<textStyle>bold</textStyle>
<name>Picture Quality</name>
<script>on mouseUpend mouseUp</script>
</part>
<part>
<id>21</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>430</left>
<top>115</top>
<right>529</right>
<bottom>130</bottom>
</rect>
<style>transparent</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Geneva</font>
<textSize>10</textSize>
<textStyle>bold</textStyle>
<name>Motion Quality</name>
<script>on mouseUpend mouseUp</script>
</part>
<part>
<id>22</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>4</left>
<top>296</top>
<right>91</right>
<bottom>323</bottom>
</rect>
<style>roundrect</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Make Movie</name>
<script>on mouseUpMakeMovieend mouseUp</script>
</part>
<part>
<id>23</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>5</left>
<top>327</top>
<right>91</right>
<bottom>354</bottom>
</rect>
<style>roundrect</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>End Movie</name>
<script>on mouseUpEndMovieend mouseUp</script>
</part>
<part>
<id>24</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>5</left>
<top>5</top>
<right>77</right>
<bottom>90</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name></name>
<script>on mouseUpgo card "Play A Movie"end mouseUp</script>
<script>on mouseUpif the hilite of bg btn "load into RAM" is true thenput "loadintoRAM" into ramelseput empty into ramend ifQTMovie OpenMovie, windoid, bg field fileName, ¬the topLeft of bg btn here, loop, ramif the result is not empty thenPostError the resultexit mouseUpend ifend mouseUp</script>
</part>
<part>
<id>30</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>0</left>
<top>220</top>
<right>92</right>
<bottom>238</bottom>
</rect>
<style>shadow</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Show ClipRgn</name>
<script>on mouseStillDownif there is a window "live video" thensend showClip to window "live video"end ifend mouseStillDown</script>
</part>
<part>
<id>31</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>420</left>
<top>155</top>
<right>523</right>
<bottom>172</bottom>
</rect>
<style>checkbox</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <false /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<name>Frame Differenced</name>
<script></script>
</part>
<part>
<id>32</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>8</left>
<top>186</top>
<right>83</right>
<bottom>203</bottom>
</rect>
<style>checkbox</style>
<showName> <true /> </showName>
<highlight> <true /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Sound</name>
<script>on mouseUpif there is a window "live video" thenif the hilite of me thensend startSound to window "live video"elsesend releaseSound to window "live video"end ifend ifend mouseUp</script>
</part>
<part>
<id>33</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>439</left>
<top>203</top>
<right>522</right>
<bottom>221</bottom>
</rect>
<style>checkbox</style>
<showName> <true /> </showName>
<highlight> <true /> </highlight>
<autoHighlight> <true /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Geneva</font>
<textSize>9</textSize>
<textStyle>plain</textStyle>
<name>load into RAM</name>
<script></script>
</part>
<part>
<id>34</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>171</left>
<top>198</top>
<right>207</right>
<bottom>226</bottom>
</rect>
<style>transparent</style>
<showName> <false /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>here</name>
<script></script>
</part>
<part>
<id>35</id>
<type>button</type>
<visible> <true /> </visible>
<reserved5> 0 </reserved5>
<reserved4> 0 </reserved4>
<reserved3> 0 </reserved3>
<reserved2> 0 </reserved2>
<reserved1> 0 </reserved1>
<enabled> <true /> </enabled>
<rect>
<left>8</left>
<top>265</top>
<right>89</right>
<bottom>285</bottom>
</rect>
<style>shadow</style>
<showName> <true /> </showName>
<highlight> <false /> </highlight>
<autoHighlight> <false /> </autoHighlight>
<sharedHighlight> <true /> </sharedHighlight>
<family>0</family>
<titleWidth>0</titleWidth>
<icon>0</icon>
<textAlign>center</textAlign>
<font>Chicago</font>
<textSize>12</textSize>
<textStyle>plain</textStyle>
<name>Pick A File</name>
<script>on mouseUpif there is a window "Live video" thensend videoOff to window "live video"end ifif bg field filename is not empty thenput extractFileName(bg field filename) into primeNameelseput empty into primeNameend ifAsk file "Pick a New Movie File:" with primeNameif it is not empty then put it into bg field filenameif there is a window "Live video" thensend videoOn to window "live video"end ifend mouseup</script>
</part>
<name>QTRecordMovie</name>
<script>on openCardif the id of this card is not in the short name of this card thenput the short name of this card into field cardNameend ifset lockText of bg field cardName to truepass openCardend openCardon closeBackgroundset name of bg btn id 2 to "Show Video"if there is a window "live video" thenclose window "live video"end ifend closeBackgroundon openBackgroundset name of bg btn id 2 to "Show Video"end openBackgroundon PostError strif there is a window "Live video" thensend videoOff to window "live video"end ifanswer strif there is a window "Live video" thensend videoOn to window "live video"end ifend PostErroron SetNameif there is a window "Live Video" thenif bg fld fileName is not empty thenset movieName of window "live Video" to line 1 of bg fld fileNameend ifend ifend SetNameon SetValuesif there is a window "Live Video" thenSetNameif bg fld movieQuality is not empty thenset movieQuality of window "live Video" to bg fld movieQualityend ifif bg fld motionQuality is not empty thenset motionQuality of window "live Video" to bg fld motionQualityend ifset frameDifferenced of window "live Video" to ¬the hilite of bg btn "frame differenced"end ifend SetValues-- These scripts uses a custom XCMD to control the Pioneer 8000 Laserdisc-- player. They are provided simply as an example of one way one-- might go about designing a laserdisc capture utility. Note that-- the Pioneer XCMD that comes with this stack uses the modem port-- for communication and transmits its commands at 4800 baud, which-- means that it might possibly work with a Pioneer 4200, but I haven't-- tried it.on MakeLaserMovie startFrame,endFrameGrabSelectedFrames startFrame,endFrameif the hilite of btn "Grab Sound" thenGrabSound startFrame,endFrameelseReportTimeend ifend MakeLaserMovieon GrabSelectedFrames startFrame,endFrameglobal startTimeput the seconds into startTimeif there is not a window "Live Video" thenanswer "Click on Show Video Window First"exit GrabSelectedFramesend ifSetValuesput false into funnyJumpput framerate() into discFrameRateif discFrameRate = 24 thenput 2 into jumpFramessend mouseUp to bg btn "12 fps"put 12 into fpselse --if discFrameRate = 30 thenput 3 into jumpFramesif the hilite of bg btn "10 fps" thenput 10 into fpselse if the hilite of bg btn "12 fps" thenput true into funnyJumpput 12 into fpselse if the hilite of bg btn "15 fps" thenput 2 into jumpFramesput 15 into fpsend ifend ifSet FrameRate of window "live video" to fpsSet KeyFrameRate of window "live video" to fpsPioneer frameModePioneer search,startFramePioneer GetFrameput the result into currFramesend BeginSingleGrabMovie to window "live Video"if the result is not empty thenPostError the resultexit to HyperCardend ifput 0 into numFramesput rect of btn progress1 into progRectput width of btn progress1 into progWidthput trunc((calcFrame(endFrame) - calcFrame(startFrame)) ¬* fps / discFrameRate) into totalFramesput calcFrame(startFrame) into currFramerepeat until numFrames > totalFramesadd 1 to numFrames-- 29.97 NTSC drop frameif trunc(numFrames / 1000) * 1000 = numFrames then next repeatsend GrabOneFrame to window "live Video"if the result is not empty thensend EndSingleGrabMovie to window "live Video"PostError the resultexit GrabSelectedFramesend ifadd jumpFrames to currFramePioneer search,invCalcFrame(currFrame)if funnyJump then put 5-jumpFrames into jumpFrames -- special case 12 fps on 30 fps discput numFrames / totalFrames into ratioput item 1 of progRect + round(ratio * progWidth) into item 3 of progRectset rect of btn progress2 to progRectend repeatEndMovieput 0 into item 3 of progRectset rect of btn progress2 to progRectput "Done grabbing Video"end GrabSelectedFrameson GrabSound startFrame,endFrameput " -- About to grab sound " after msgput framerate() into divisorif there is a window "live video" then send releaseSound to window "live video"QTEditMovie field filename, document, the topLeft of bg btn hereif the result is not empty thenPostError the resultexit GrabSoundend ifset grabDoneMsg of window "edit window" to DoGrabMsg-- Tell editWindow that we want to grab an amount of sound-- equal in duration to the movie ("movieLength" is a keyword).-- One could specify an actual value here (in ticks)set soundDuration of window "edit window" to "movieLength"Pioneer search,invCalcFrame(calcFrame(startFrame)-60)Pioneer StopAt,invCalcFrame(calcFrame(endFrame)+60)send grabAudioSoon to window "edit window"if the result is not empty thenPostError the resultexit GrabSoundend ifPioneer playFwdPioneer GetFrameTicksget the resultput 1 + trunc(item 2 of it + (calcFrame(startFrame) - ¬calcFrame(item 1 of it)) * 60 / divisor) into startTput 1 + trunc(item 2 of it + (calcFrame(endFrame) - ¬calcFrame(item 1 of it)) * 60 / divisor) into endTset soundStart of window "edit window" to startTset soundEnd of window "edit window" to endTsend grabAudioNow to window "edit window"if the result is not empty then PostError the resultend GrabSoundon EndMoviesend EndSingleGrabMovie to window "live Video"get the resultif it is not empty thenposterror itend ifend EndMovieon DoGrabMsgsend GrabMsg to this cardend DoGrabMsgon GrabMsgReportTimeend GrabMsgon ReportTimeglobal startTimeput (the seconds - startTime) / 60 & " minutes"put 0 into startTimeend ReportTime-- These deal with CAV vs CLV frame information from Pioneer 8000-- calcframe returns the proper frame number whether the input was-- already one or if it was Phillips time code.function calcFrame fglobal frameTypeif the number of chars in f is 5 thenput "frame" into frameTypereturn felse if the number of chars in f is 7 thenput char 2 to 3 of f into minput char 4 to 5 of f into secput char 6 to 7 of f into frameNoput "timecode" into frameTypereturn frameNo + sec*30 + min*30*60elseput "error" into frameTypereturn "error"end ifend calcFrame-- invCalcFrame converts back to time code if frameType was that type-- calcFrame above MUST have been called at least once so that frameType-- can be determinedfunction invCalcFrame tglobal frameTypeif frameType = "frame" thenreturn telse if frameType = "timecode" thenreturn t mod 30 + t div 30 mod 60 * 100 + t div (30*60) * 10000elsereturn "error"end ifend invCalcFrame-- plays the disc for one second and guestimates whether the disc is at 24 or 30 fpsfunction FrameRatePioneer frameModePioneer playFwdPioneer getframeticksput the result into bozoput item 1 of bozo into frameNumput item 2 of bozo into frameTicksput frameTicks + 60 - 2 into goalTickswait until the ticks >= goalTicksPioneer getframeticksput the result into bozo2put item 1 of bozo2 into frameNum2put item 2 of bozo2 into frameTicks2put round((calcFrame(frameNum2) - calcFrame(frameNum))) into fpsif fps < 27 thenreturn 24elsereturn 30end ifend FrameRate</script>